1. Statement of the Technical Field
The present invention relates to macro recording facilities in an application execution environment and more particularly to recording events in a macro recording session.
2. Description of the Related Art
Macro recording facilities long have provided operational efficiencies to software applications and, as such, have formed an important functional component of software applications for many years. Generally speaking, macro recording facilities refer to logic which permits the recording of a series of user interface operations performed by an end user when interacting with an underlying software application. The recorded series of operations often is referred to as a “macro” and can stored in a file which further can be manipulated, copied, deleted and the like just as any other file can be manipulated, copied, or deleted. By comparison to macro recording facilities, macro playback facilities refer to logic which permits the automated playing back of a recorded series of user interface operations as if each of the operations in the series had been performed in real-time by an end user.
Macro recording and playback facilities have been included both as part of individual software applications and also as part of an underlying operating system. In both cases, end users can activate macro recording by selecting a user interface element, typically “Macro Record”. Once activated, all user interface interactions can be recorded, including mouse-clicks, keyboard strokes, menu selections, and the like. The selection of a “Macro Stop” user interface element can cause the cessation of the recording exercise and the recorded interactions can be stored in a single file or in a database configured to accommodate recorded macros.
In early computing, macro recording and playback facilities remained simple due to the simplified nature of operating systems and their inability to handle more than one task and one user interface at any one time. Accordingly, the context for recording a macro remained clear and consistent throughout the macro recording process. More particularly, in early computing, when a user activated macro recording, it remained quite clear to the macro recording logic that all recordable events occurring during the recording session belonged to the same context.
Today, multi-window, multi-tasking environments have complicated matters and it no longer remains clear which events are intended to be included as part of the macro recording process. Specifically, to the extent that a macro recording operation has been activated in the course of execution of one application, events and interactions arising during the execution of other applications may have been intended to be excluded from the macro recording operation. Conversely, events and interactions arising during the execution of other applications may have been intended to be included as part of the macro recording operation. In either case, at present macro recording facilities can be configured either to capture all events, regardless of context, or only those events arising in a single context.